/*
 ============================================================================
 Name		: ResponseDispatherData.h
 Author	  : 
 Version	 : 1.0
 Copyright   :
 Description : CResponseCate1Data declaration
 ============================================================================
 */

#ifndef ResponseCate1Data_H
#define ResponseCate1Data_H

// INCLUDES
#include <e32std.h>
#include <e32base.h>


class CResponseMagazineItemData;

enum TCateItemType {ECateItemIsMagazazine, ECateItemIsChildCate};

class CResponseCate1DataItem: public CBase
{
public:
    // Constructors and destructor

    /**
     * Destructor.
     */
    ~CResponseCate1DataItem();

    /**
     * Two-phased constructor.
     */
    static CResponseCate1DataItem* NewL(TCateItemType type);

    /**
     * Two-phased constructor.
     */
    static CResponseCate1DataItem* NewLC(TCateItemType type);

private:

    /**
     * Constructor for performing 1st stage construction
     */
    CResponseCate1DataItem(TCateItemType type);

    /**
     * EPOC default constructor for performing 2nd stage construction
     */
    void ConstructL();


public:
    int _id;
    HBufC* _url;
    HBufC* _name;

    TCateItemType _type;

};

// CLASS DECLARATION

/**
 *  CResponseCate1Data
 *
 */
class CResponseCate1Data : public CBase
{
public:
    // Constructors and destructor

    /**
     * Destructor.
     */
    ~CResponseCate1Data();

    /**
     * Two-phased constructor.
     */
    static CResponseCate1Data* NewL();

    /**
     * Two-phased constructor.
     */
    static CResponseCate1Data* NewLC();

private:

    /**
     * Constructor for performing 1st stage construction
     */
    CResponseCate1Data();

    /**
     * EPOC default constructor for performing 2nd stage construction
     */
    void ConstructL();
public:
    RPointerArray<CResponseCate1DataItem> _cates;
    RPointerArray< CResponseMagazineItemData > _items;
};

#endif // RESPONSEDISPATHERDATA_H
